There is increasing interest in, and use of, “cloud computing”. A computing “cloud” is a pool of configurable computing resources (for example networks, servers, memory, applications and services) that may be accessed by a user. A user may for example store their data or applications in the cloud rather than on their own computer, and access the cloud whenever they wish to retrieve data or run an application.
Cloud computing has many promises for the future, providing on-demand, self-provisioned services with elastic capacity at low cost. However, security is often seen as the most important problem that must be overcome in order to persuade users to adopt cloud computing. This is because in a cloud setting, the user (e.g. an enterprise) outsources computing, networking and storage resources to an external party and thus needs to trust this party to provide the necessary security against external attackers and, moreover, must trust the cloud provider not to spy. In a so called “public cloud”, where several users share the same cloud, the situation is worse since the user must also trust the cloud provider to protect the user's data, applications etc against “insiders” in the form of other users of the cloud (so called “cloud tenants”).
A fundamental requirement in order to provide the required security is to be able to encrypt data in the cloud, which in turn requires key management.
A number of ways of providing encryption in cloud computing have been proposed. However, all previous proposals have disadvantages.
As one example, a cloud user could encrypt all data locally, and allow only encrypted data to be exported to the cloud. This however means that no processing would be possible in the cloud and the cloud can only be used to provide transport and storage of (encrypted) data. While so called homomorphic encryption (enabling processing of encrypted data) has recently been developed, these techniques are still mainly of academic interest since processing overhead is counted in minutes or hours.
On the other hand, if data are not encrypted locally, this means that a user must trust the cloud provider to have a secure key management scheme in place, so that data may be encrypted before being stored and/or transported within the cloud or to/from the cloud. Traditional means for such key management are certificates and PKI (Public Key Infrastructure). Such solutions are however computationally heavy and are completely decoupled from the user: the user has little or no ability to influence how keys are used in the cloud nor any means to verify that keys are used as claimed (e.g. as claimed in a service level agreement (SLA) between a user and a cloud provider). So called remote attestation can be used to verify that certain software is used in a cloud, but this does not guarantee that any specific keys are used by the software/applications. For example, a server in the cloud could have a malfunctioning random number generator, always producing the key 000 . . . 0, but remote attestation would not show this. (Attestation does not provide means to verify that the random number generator is operating properly, at best it can verify it has been “installed”.)
GBA (Generic Bootstrapping Architecture, 3GPP TS33.220) provides a more efficient alternative to PKI, but requires that the end user is one of the “endpoints” of the security. That is GBA only works when the user is directly involved in the secure communication, initiating or terminating the security. If there is need to securely communicate between two servers (referred to as Network Application Functions or NAFs in GBA), the communication between two NAFs would either need to be relayed by the UT (consuming UT and access network resources) or would need to rely on some of the aforementioned disadvantageous prior arts methods to set up security directly between the NAFs.
WO 2009/070075 proposes a method of managing session keys for secure communication between a first user device and a second user device. However, this again requires that the end user is one of the “endpoints” of the security.